Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / scripts / ci / docker-demo-smoke.sh

Displaying Raw • Download


scripts/ci/docker-demo-smoke.sh e41daa5b65e07a5baa1aaad32d97f90482f1cd1c (e41daa5b) Text, 1.73 KB

T8b949e#!/usr/bin/env bash
T8b949e# Smoke-test docker-compose.demo.yml (Coolify-shaped demo stack).
Tffa657set -euo pipefail

Te6edf3ROOTTff7b72=Ta5d6ff"Tff7b72$(Tffa657cd Ta5d6ff"Tff7b72$(dirname Ta5d6ff"Te6edf3$0Ta5d6ff"Tff7b72)Ta5d6ff/../..Ta5d6ff" Tff7b72&& Tffa657pwdTff7b72)Ta5d6ff"
Tffa657cd Ta5d6ff"Te6edf3$ROOTTa5d6ff"

Te6edf3IMAGETff7b72=Ta5d6ff"Tffd700${Te6edf3MESHCHAT_DOCKER_DEMO_IMAGETff7b72:-Te6edf3reticulumTb4b4b4-meshchatxTb4b4b4:Te6edf3localTffd700}Ta5d6ff"
Te6edf3COMPOSE_FILETff7b72=Ta5d6ff"docker-compose.demo.yml"
Te6edf3OVERRIDE_FILETff7b72=Ta5d6ff"Tffd700${Te6edf3TMPDIRTff7b72:-Tb4b4b4/tmpTffd700}Ta5d6ff/meshchatx-demo-smoke-ports.ymlTa5d6ff"
Te6edf3KEYTff7b72=Ta5d6ff"Tffd700${Te6edf3MESHCHAT_ALTCHA_HMAC_KEYTff7b72:-Te6edf3demoTb4b4b4-smoke-hmac-key-change-meTffd700}Ta5d6ff"

cleanupTff7b72(Tff7b72) Tff7b72{
Te6edf3MESHCHAT_IMAGETff7b72=Ta5d6ff"Te6edf3$IMAGETa5d6ff" Te6edf3MESHCHAT_ALTCHA_HMAC_KEYTff7b72=Ta5d6ff"Te6edf3$KEYTa5d6ff" Tffea00\
docker compose -f Ta5d6ff"Te6edf3$COMPOSE_FILETa5d6ff" -f Ta5d6ff"Te6edf3$OVERRIDE_FILETa5d6ff" down >/dev/null T79c0ff2>Tb4b4b4&T79c0ff1 Tff7b72|| Tffa657true
rm -f Ta5d6ff"Te6edf3$OVERRIDE_FILETa5d6ff"
Tff7b72}
Tffa657trap cleanup EXIT

cat >Ta5d6ff"Te6edf3$OVERRIDE_FILETa5d6ff" Ta5d6ff<<'EOF'
services:
meshchatx:
ports:
- 127.0.0.1:8000:8000
EOF

Tff7b72if ! docker image inspect Ta5d6ff"Te6edf3$IMAGETa5d6ff" >/dev/null T79c0ff2>Tb4b4b4&T79c0ff1Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffBuilding Te6edf3$IMAGETa5d6ff...Ta5d6ff"
docker build -f Dockerfile -t Ta5d6ff"Te6edf3$IMAGETa5d6ff" .
Tff7b72fi

Te6edf3MESHCHAT_IMAGETff7b72=Ta5d6ff"Te6edf3$IMAGETa5d6ff" Te6edf3MESHCHAT_ALTCHA_HMAC_KEYTff7b72=Ta5d6ff"Te6edf3$KEYTa5d6ff" Tffea00\
docker compose -f Ta5d6ff"Te6edf3$COMPOSE_FILETa5d6ff" -f Ta5d6ff"Te6edf3$OVERRIDE_FILETa5d6ff" up -d --pull never

Te6edf3deadlineTff7b72=Tff7b72$((Te6edf3SECONDS Tff7b72+ T79c0ff180Tff7b72))
Tff7b72while Tff7b72[ Ta5d6ff"Te6edf3$SECONDSTa5d6ff" -lt Ta5d6ff"Te6edf3$deadlineTa5d6ff" Tff7b72]Tb4b4b4; Tff7b72do
Tff7b72if curl -fsS Ta5d6ff"http://127.0.0.1:8000/api/v1/status" T79c0ff2>/dev/null Tb4b4b4| python3 -c Ta5d6ff'
import json,sys
d=json.load(sys.stdin)
sys.exit(0 if d.get("demo_mode") and d.get("altcha_enabled") else 1)
'Tb4b4b4; Tff7b72then
Tff7b72break
Tff7b72fi
sleep T79c0ff3
Tff7b72done

curl -fsS Ta5d6ff"http://127.0.0.1:8000/api/v1/status" Tb4b4b4| python3 -c Ta5d6ff'
import json,sys
d=json.load(sys.stdin)
assert d.get("demo_mode") is True
assert d.get("altcha_enabled") is True
print("demo status ok", d.get("status"))
'

Te6edf3codeTff7b72=Tff7b72$(curl -s -o /dev/null -w Ta5d6ff"%{http_code}" -X POST Tffea00\
-H Ta5d6ff"Content-Type: application/json" Tffea00\
-d Ta5d6ff"{}" Tffea00\
Ta5d6ff"http://127.0.0.1:8000/api/v1/lxmf-messages/send"Tff7b72)
Tffa657test Ta5d6ff"Te6edf3$codeTa5d6ff" Tff7b72= Ta5d6ff"403"

Tffa657echo Ta5d6ff"Docker demo smoke passed"


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────